package com.blueocean_health.care.management.domain.dto;

import java.util.Arrays;
import java.util.Date;

import javax.persistence.Column;

import org.springframework.format.annotation.DateTimeFormat;

import com.alibaba.fastjson.annotation.JSONField;
import com.blueocean_health.care.management.common.base.string.StringUtils;
import com.blueocean_health.care.management.em.BankEnum;
import com.blueocean_health.care.management.em.CreditTypeEnum;
import com.blueocean_health.care.management.em.EducationEnum;
import com.blueocean_health.care.management.em.NationEnum;
import com.blueocean_health.care.management.em.ProvinceEnum;
import com.blueocean_health.care.management.em.ReligionFaithEnum;
import com.blueocean_health.care.management.em.ResidenceEnum;
import com.blueocean_health.care.management.em.SexEnum;
import com.blueocean_health.care.management.em.WorkStatusNewEnum;
import com.blueocean_health.care.management.em.WorkerTypeEnum;

/**
 * @author huyanqiu
 * @date 2017年12月12日 下午3:26:04
 * @version 版本号：1.0
 */
public class NurseWorkerInfoDto {
	private Integer id;

	/**
	 * 护工编号
	 */
	private String workerId;

	/**
	 * 创建日期
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date createTime;

	/**
	 * 姓名
	 */
	private String workerName;

	/**
	 * 性别
	 */
	private String sex;

	/**
	 * 性别
	 */
	private String sexName;

	/**
	 * 年龄
	 */
	private Integer age;

	/**
	 * 手机号
	 */
	private String phone;

	/**
	 * 工作状态
	 */
	private String workStatus;

	/**
	 * 工作状态ID
	 */
	private String workStatusName;

	/**
	 * 身份证
	 */
	private String idCard;

	/**
	 * 省份名称
	 */
	private String provinceName;

	/**
	 * 省份
	 */
	private String province;

	/**
	 * 籍贯
	 */
	private String[] nativePlace;

	/**
	 * 籍贯名称
	 */
	private String[] nativePlaceName;

	/**
	 * 文化程度
	 */
	private String education;

	/**
	 * 文化程度
	 */
	private String educationName;

	/**
	 * 工作年限
	 */
	private Integer serviceYears;

	/**
	 * 出生日期; 1.0.8版本，去掉
	 */
	@Deprecated
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date birthDate;

	/**
	 * 名族
	 */
	private String nation;

	/**
	 * 民族名称
	 */
	private String nationName;

	/**
	 * 宗教信仰
	 */
	private String religionFaith;

	/**
	 * 宗教信仰名
	 */
	private String religionFaithName;

	/**
	 * 是否有健康证
	 */
	private Boolean haveHealthCert;

	/**
	 * 健康证号
	 */
	@Column(name = "health_cert")
	private String healthCert;

	/**
	 * 健康证有效期结束时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date healthCertExpiryDate;

	/**
	 * 是否有意外险
	 */
	@Column(name = "accident_insurance")
	private Boolean accidentInsurance;

	/**
	 * 开户行
	 */
	private String bank;

	/**
	 * 开户行
	 */
	private String bankName;

	/**
	 * 卡号
	 */
	private String bankCard;

	/**
	 * 支行全称
	 */
	private String bankFullName;

	/**
	 * 医院
	 */
	private String hospital;

	/**
	 * 所属医院
	 */
	private String hospitalName;

	/**
	 * 入职日期
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date hireDate;

	/**
	 * 离职日期
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date leaveDate;

	/**
	 * 擅长科室
	 */
	private String expertDept;

	/**
	 * 护理技能
	 */
	private String skill;

	/**
	 * 头像地址
	 */
	private String avatarPhotoUrl;

	/**
	 * 银行卡地址
	 */
	private String bankCardPhotoUrl;

	/**
	 * 学历证地址
	 */
	private String educationPhotoUrl;

	/**
	 * 健康证地址
	 */
	private String healthCertPhotoUrl;

	/**
	 * 身份证正面地址
	 */
	private String idCardFacePhotoUrl;

	/**
	 * 身份证反面地址
	 */
	private String idCardBackPhotoUrl;

	/**
	 * 已领取装备ID
	 */
	private String[] equipments;

	/**
	 * 已领取装备
	 */
	private String[] equipmentNames;

	/**
	 * 是否可用：1:可用 0:不可用
	 */
	private Boolean hasDisable = true;

	/**
	 * 是否删除: 1:删除 0:未删除
	 */
	private Boolean isDel = false;

	/**
	 * 信用状态
	 */
	private String creditType;

	/**
	 * 信用状态名称
	 */
	private String creditTypeName;

	/**
	 * 紧急联系人
	 */
	private String contact;

	/**
	 * 联系人电话
	 */
	private String contactPhone;

	/**
	 * 护理证
	 */
	private Boolean nursingCert;

	/**
	 * 责任险
	 */
	private Boolean liabilityInsurance;

	/**
	 * 社保
	 */
	private Boolean socialSecurity;

	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 已签署协议
	 */
	private String[] agreements;

	/**
	 * 解除居间协议日期
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date relieveDate;

	/**
	 * 户口性质
	 */
	private String residence;

	/**
	 * 户口性质名称
	 */
	private String residenceName;

	/**
	 * 政治面貌
	 */
	private String politicalVisage;

	/**
	 * 政治面貌名称
	 */
	private String politicalVisageName;

	/**
	 * 护工姓名拼音
	 */
	private String workerNamePinYin;

	/**
	 * 身高
	 */
	private String height;

	/**
	 * 体重
	 */
	private String weight;

	/**
	 * 提醒状态
	 */
	private Boolean remindStatus;

	/**
	 * 护工类型
	 */
	private String workerType;
	private String workerTypeName;

	/**
	 * 签署协议时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date agreementsDate;

	/**
	 * 1.0.8 提成比例
	 */
	private Integer commissionRate;

	/**
	 * 1.0.8 提成比例
	 */
	public Integer getCommissionRate() {
		return commissionRate;
	}

	/**
	 * 1.0.8 提成比例
	 */
	public void setCommissionRate(Integer commissionRate) {
		this.commissionRate = commissionRate;
	}

	public String getWorkerType() {
		return workerType;
	}

	public void setWorkerType(String workerType) {
		this.workerType = workerType;
		if (!StringUtils.isEmpty(workerType))
			this.setWorkerTypeName(WorkerTypeEnum.valueOf("_" + workerType).getVal());
	}

	public String getWorkerTypeName() {
		return workerTypeName;
	}

	public void setWorkerTypeName(String workerTypeName) {
		this.workerTypeName = workerTypeName;
	}

	public Date getAgreementsDate() {
		return agreementsDate;
	}

	public void setAgreementsDate(Date agreementsDate) {
		this.agreementsDate = agreementsDate;
	}

	/**
	 * @return id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * 获取护工编号
	 *
	 * @return worker_id - 护工编号
	 */
	public String getWorkerId() {
		return workerId;
	}

	/**
	 * 设置护工编号
	 *
	 * @param workerId 护工编号
	 */
	public void setWorkerId(String workerId) {
		this.workerId = workerId;
	}

	/**
	 * 获取创建日期
	 *
	 * @return create_time - 创建日期
	 */
	public Date getCreateTime() {
		return createTime;
	}

	/**
	 * 设置创建日期
	 *
	 * @param createTime 创建日期
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**
	 * 获取姓名
	 *
	 * @return worker_name - 姓名
	 */
	public String getWorkerName() {
		return workerName;
	}

	/**
	 * 设置姓名
	 *
	 * @param workerName 姓名
	 */
	public void setWorkerName(String workerName) {
		this.workerName = workerName;
	}

	/**
	 * 获取性别
	 *
	 * @return sex - 性别
	 */
	public String getSex() {
		return sex;
	}

	/**
	 * 设置性别
	 *
	 * @param sex 性别
	 */
	public void setSex(String sex) {
		this.sex = sex;
		if (!StringUtils.isEmpty(sex))
			this.setSexName(SexEnum.valueOf("_" + sex).getVal());
	}

	/**
	 * 获取性别
	 *
	 * @return sex_name - 性别
	 */
	public String getSexName() {
		return sexName;
	}

	/**
	 * 设置性别
	 *
	 * @param sexName 性别
	 */
	public void setSexName(String sexName) {
		this.sexName = sexName;
	}

	/**
	 * 获取年龄
	 *
	 * @return age - 年龄
	 */
	public Integer getAge() {
		return age;
	}

	/**
	 * 设置年龄
	 *
	 * @param age 年龄
	 */
	public void setAge(Integer age) {
		this.age = age;
	}

	/**
	 * 获取手机号
	 *
	 * @return phone - 手机号
	 */
	public String getPhone() {
		return phone;
	}

	/**
	 * 设置手机号
	 *
	 * @param phone 手机号
	 */
	public void setPhone(String phone) {
		this.phone = phone;
	}

	/**
	 * 获取工作状态
	 *
	 * @return work_status - 工作状态
	 */
	public String getWorkStatus() {
		return workStatus;
	}

	/**
	 * 设置工作状态
	 *
	 * @param workStatus 工作状态
	 */
	public void setWorkStatus(String workStatus) {
		this.workStatus = workStatus;
		if (!StringUtils.isEmpty(workStatus))
			this.setWorkStatusName(WorkStatusNewEnum.valueOf("_" + workStatus).getVal());
	}

	/**
	 * 获取工作状态ID
	 *
	 * @return work_status_name - 工作状态ID
	 */
	public String getWorkStatusName() {
		return workStatusName;
	}

	/**
	 * 设置工作状态ID
	 *
	 * @param workStatusName 工作状态ID
	 */
	public void setWorkStatusName(String workStatusName) {
		this.workStatusName = workStatusName;
	}

	/**
	 * 获取身份证
	 *
	 * @return id_card - 身份证
	 */
	public String getIdCard() {
		return idCard;
	}

	/**
	 * 设置身份证
	 *
	 * @param idCard 身份证
	 */
	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	/**
	 * 获取省份名称
	 *
	 * @return province_name - 省份名称
	 */
	public String getProvinceName() {
		return provinceName;
	}

	/**
	 * 设置省份名称
	 *
	 * @param provinceName 省份名称
	 */
	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}

	/**
	 * 获取省份
	 *
	 * @return province - 省份
	 */
	public String getProvince() {
		return province;
	}

	/**
	 * 设置省份
	 *
	 * @param province 省份
	 */
	public void setProvince(String province) {
		this.province = province;
		if (!StringUtils.isEmpty(province))
			this.setProvinceName(ProvinceEnum.valueOf("_" + province).getVal());
	}

	/**
	 * 获取籍贯
	 *
	 * @return native_place - 籍贯
	 */
	public String[] getNativePlace() {
		return nativePlace;
	}

	/**
	 * 设置籍贯
	 *
	 * @param nativePlace 籍贯
	 */
	public void setNativePlace(String[] nativePlace) {
		this.nativePlace = nativePlace;

		if (!StringUtils.isEmpty(nativePlace)) {
			String[] nativePlaceName = new String[nativePlace.length];
			for (int i = 0; i < nativePlace.length; i++) {
				if (!StringUtils.isEmpty(nativePlace[i]))
					nativePlaceName[i] = ProvinceEnum.valueOf("_" + nativePlace[i]).getVal();
			}
			this.setNativePlaceName(nativePlaceName);
		}
	}

	/**
	 * 获取籍贯名称
	 *
	 * @return native_place_name - 籍贯名称
	 */
	public String[] getNativePlaceName() {
		return nativePlaceName;
	}

	/**
	 * 设置籍贯名称
	 *
	 * @param nativePlaceName 籍贯名称
	 */
	public void setNativePlaceName(String[] nativePlaceName) {
		this.nativePlaceName = nativePlaceName;
	}

	/**
	 * 获取文化程度
	 *
	 * @return education - 文化程度
	 */
	public String getEducation() {
		return education;
	}

	/**
	 * 设置文化程度
	 *
	 * @param education 文化程度
	 */
	public void setEducation(String education) {
		this.education = education;
		if (!StringUtils.isEmpty(education))
			this.setEducationName(EducationEnum.valueOf("_" + education).getVal());
	}

	/**
	 * 获取文化程度
	 *
	 * @return education_name - 文化程度
	 */
	public String getEducationName() {
		return educationName;
	}

	/**
	 * 设置文化程度
	 *
	 * @param educationName 文化程度
	 */
	public void setEducationName(String educationName) {
		this.educationName = educationName;
	}

	/**
	 * 获取工作年限
	 *
	 * @return service_years - 工作年限
	 */
	public Integer getServiceYears() {
		return serviceYears;
	}

	/**
	 * 设置工作年限
	 *
	 * @param serviceYears 工作年限
	 */
	public void setServiceYears(Integer serviceYears) {
		this.serviceYears = serviceYears;
	}

	/**
	 * 获取出生日期;1.0.8版本，去掉
	 *
	 * @return birth_date - 出生日期
	 */
	@Deprecated
	public Date getBirthDate() {
		return birthDate;
	}

	/**
	 * 设置出生日期;1.0.8版本，去掉
	 *
	 * @param birthDate 出生日期
	 */
	@Deprecated
	public void setBirthDate(Date birthDate) {
		this.birthDate = birthDate;
	}

	/**
	 * 获取名族
	 *
	 * @return nation - 名族
	 */
	public String getNation() {
		return nation;
	}

	/**
	 * 设置名族
	 *
	 * @param nation 名族
	 */
	public void setNation(String nation) {
		this.nation = nation;
		if (!StringUtils.isEmpty(nation))
			this.setNationName(NationEnum.valueOf("_" + nation).getVal());
	}

	/**
	 * 获取民族名称
	 *
	 * @return nation_name - 民族名称
	 */
	public String getNationName() {
		return nationName;
	}

	/**
	 * 设置民族名称
	 *
	 * @param nationName 民族名称
	 */
	public void setNationName(String nationName) {
		this.nationName = nationName;
	}

	/**
	 * 获取宗教信仰
	 *
	 * @return religion_faith - 宗教信仰
	 */
	public String getReligionFaith() {
		return religionFaith;
	}

	/**
	 * 设置宗教信仰
	 *
	 * @param religionFaith 宗教信仰
	 */
	public void setReligionFaith(String religionFaith) {
		this.religionFaith = religionFaith;
		if (!StringUtils.isEmpty(religionFaith))
			this.setReligionFaithName(ReligionFaithEnum.valueOf("_" + religionFaith).getVal());
	}

	/**
	 * 获取宗教信仰名
	 *
	 * @return religion_faith_name - 宗教信仰名
	 */
	public String getReligionFaithName() {
		return religionFaithName;
	}

	/**
	 * 设置宗教信仰名
	 *
	 * @param religionFaithName 宗教信仰名
	 */
	public void setReligionFaithName(String religionFaithName) {
		this.religionFaithName = religionFaithName;
	}

	/**
	 * 获取是否有健康证
	 *
	 * @return have_health_cert - 是否有健康证
	 */
	public Boolean getHaveHealthCert() {
		return haveHealthCert;
	}

	/**
	 * 设置是否有健康证
	 *
	 * @param haveHealthCert 是否有健康证
	 */
	public void setHaveHealthCert(Boolean haveHealthCert) {
		this.haveHealthCert = haveHealthCert;
	}

	/**
	 * 获取健康证号
	 *
	 * @return health_cert - 健康证号
	 */
	public String getHealthCert() {
		return healthCert;
	}

	/**
	 * 设置健康证号
	 *
	 * @param healthCert 健康证号
	 */
	public void setHealthCert(String healthCert) {
		this.healthCert = healthCert;
	}

	/**
	 * 获取健康证有效期结束时间
	 *
	 * @return health_cert_expiry_date - 健康证有效期结束时间
	 */
	public Date getHealthCertExpiryDate() {
		return healthCertExpiryDate;
	}

	/**
	 * 设置健康证有效期结束时间
	 *
	 * @param healthCertExpiryDate 健康证有效期结束时间
	 */
	public void setHealthCertExpiryDate(Date healthCertExpiryDate) {
		this.healthCertExpiryDate = healthCertExpiryDate;
	}

	/**
	 * 获取是否有意外险
	 *
	 * @return accident_insurance - 是否有意外险
	 */
	public Boolean getAccidentInsurance() {
		return accidentInsurance;
	}

	/**
	 * 设置是否有意外险
	 *
	 * @param accidentInsurance 是否有意外险
	 */
	public void setAccidentInsurance(Boolean accidentInsurance) {
		this.accidentInsurance = accidentInsurance;
	}

	/**
	 * 获取开户行
	 *
	 * @return bank - 开户行
	 */
	public String getBank() {
		return bank;
	}

	/**
	 * 设置开户行
	 *
	 * @param bank 开户行
	 */
	public void setBank(String bank) {
		this.bank = bank;
		if (!StringUtils.isEmpty(bank))
			this.setBankName(BankEnum.valueOf("_" + bank).getVal());
	}

	/**
	 * 获取开户行
	 *
	 * @return bank_name - 开户行
	 */
	public String getBankName() {
		return bankName;
	}

	/**
	 * 设置开户行
	 *
	 * @param bankName 开户行
	 */
	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	/**
	 * 获取卡号
	 *
	 * @return bank_card - 卡号
	 */
	public String getBankCard() {
		return bankCard;
	}

	/**
	 * 设置卡号
	 *
	 * @param bankCard 卡号
	 */
	public void setBankCard(String bankCard) {
		this.bankCard = bankCard;
	}

	/**
	 * 获取支行全称
	 *
	 * @return bank_full_name - 支行全称
	 */
	public String getBankFullName() {
		return bankFullName;
	}

	/**
	 * 设置支行全称
	 *
	 * @param bankFullName 支行全称
	 */
	public void setBankFullName(String bankFullName) {
		this.bankFullName = bankFullName;
	}

	/**
	 * 获取医院
	 *
	 * @return hospital - 医院
	 */
	public String getHospital() {
		return hospital;
	}

	/**
	 * 设置医院
	 *
	 * @param hospital 医院
	 */
	public void setHospital(String hospital) {
		this.hospital = hospital;
	}

	/**
	 * 获取所属医院
	 *
	 * @return hospital_name - 所属医院
	 */
	public String getHospitalName() {
		return hospitalName;
	}

	/**
	 * 设置所属医院
	 *
	 * @param hospitalName 所属医院
	 */
	public void setHospitalName(String hospitalName) {
		this.hospitalName = hospitalName;
	}

	/**
	 * 获取入职日期
	 *
	 * @return hire_date - 入职日期
	 */
	public Date getHireDate() {
		return hireDate;
	}

	/**
	 * 设置入职日期
	 *
	 * @param hireDate 入职日期
	 */
	public void setHireDate(Date hireDate) {
		this.hireDate = hireDate;
	}

	/**
	 * 获取离职日期
	 *
	 * @return leave_date - 离职日期
	 */
	public Date getLeaveDate() {
		return leaveDate;
	}

	/**
	 * 设置离职日期
	 *
	 * @param leaveDate 离职日期
	 */
	public void setLeaveDate(Date leaveDate) {
		this.leaveDate = leaveDate;
	}

	/**
	 * 获取擅长科室
	 *
	 * @return expert_dept - 擅长科室
	 */
	public String getExpertDept() {
		return expertDept;
	}

	/**
	 * 设置擅长科室
	 *
	 * @param expertDept 擅长科室
	 */
	public void setExpertDept(String expertDept) {
		this.expertDept = expertDept;
	}

	/**
	 * 获取护理技能
	 *
	 * @return skill - 护理技能
	 */
	public String getSkill() {
		return skill;
	}

	/**
	 * 设置护理技能
	 *
	 * @param skill 护理技能
	 */
	public void setSkill(String skill) {
		this.skill = skill;
	}

	/**
	 * 获取头像地址
	 *
	 * @return avatar_photo_url - 头像地址
	 */
	public String getAvatarPhotoUrl() {
		return avatarPhotoUrl;
	}

	/**
	 * 设置头像地址
	 *
	 * @param avatarPhotoUrl 头像地址
	 */
	public void setAvatarPhotoUrl(String avatarPhotoUrl) {
		this.avatarPhotoUrl = avatarPhotoUrl;
	}

	/**
	 * 获取银行卡地址
	 *
	 * @return bank_card_photo_url - 银行卡地址
	 */
	public String getBankCardPhotoUrl() {
		return bankCardPhotoUrl;
	}

	/**
	 * 设置银行卡地址
	 *
	 * @param bankCardPhotoUrl 银行卡地址
	 */
	public void setBankCardPhotoUrl(String bankCardPhotoUrl) {
		this.bankCardPhotoUrl = bankCardPhotoUrl;
	}

	/**
	 * 获取学历证地址
	 *
	 * @return education_photo_url - 学历证地址
	 */
	public String getEducationPhotoUrl() {
		return educationPhotoUrl;
	}

	/**
	 * 设置学历证地址
	 *
	 * @param educationPhotoUrl 学历证地址
	 */
	public void setEducationPhotoUrl(String educationPhotoUrl) {
		this.educationPhotoUrl = educationPhotoUrl;
	}

	/**
	 * 获取健康证地址
	 *
	 * @return health_cert_photo_url - 健康证地址
	 */
	public String getHealthCertPhotoUrl() {
		return healthCertPhotoUrl;
	}

	/**
	 * 设置健康证地址
	 *
	 * @param healthCertPhotoUrl 健康证地址
	 */
	public void setHealthCertPhotoUrl(String healthCertPhotoUrl) {
		this.healthCertPhotoUrl = healthCertPhotoUrl;
	}

	/**
	 * 获取身份证正面地址
	 *
	 * @return id_card_photo_face_url - 身份证正面地址
	 */
	public String getIdCardFacePhotoUrl() {
		return idCardFacePhotoUrl;
	}

	/**
	 * 设置身份证正面地址
	 *
	 * @param idCardPhotoFaceUrl 身份证正面地址
	 */
	public void setIdCardFacePhotoUrl(String idCardFacePhotoUrl) {
		this.idCardFacePhotoUrl = idCardFacePhotoUrl;
	}

	/**
	 * 获取身份证反面地址
	 *
	 * @return id_card_photo_back_url - 身份证反面地址
	 */
	public String getIdCardBackPhotoUrl() {
		return idCardBackPhotoUrl;
	}

	/**
	 * 设置身份证反面地址
	 *
	 * @param idCardPhotoBackUrl 身份证反面地址
	 */
	public void setIdCardBackPhotoUrl(String idCardBackPhotoUrl) {
		this.idCardBackPhotoUrl = idCardBackPhotoUrl;
	}

	/**
	 * 获取已领取装备ID
	 *
	 * @return equipments - 已领取装备ID
	 */
	public String[] getEquipments() {
		return equipments;
	}

	/**
	 * 设置已领取装备ID
	 *
	 * @param equipments 已领取装备ID
	 */
	public void setEquipments(String[] equipments) {
		this.equipments = equipments;
	}

	/**
	 * 获取已领取装备
	 *
	 * @return equipment_names - 已领取装备
	 */
	public String[] getEquipmentNames() {
		return equipmentNames;
	}

	/**
	 * 设置已领取装备
	 *
	 * @param equipmentNames 已领取装备
	 */
	public void setEquipmentNames(String[] equipmentNames) {
		this.equipmentNames = equipmentNames;
	}

	/**
	 * 获取是否可用：1:可用 0:不可用
	 *
	 * @return has_disable - 是否可用：1:可用 0:不可用
	 */
	public Boolean getHasDisable() {
		return hasDisable;
	}

	/**
	 * 设置是否可用：1:可用 0:不可用
	 *
	 * @param hasDisable 是否可用：1:可用 0:不可用
	 */
	public void setHasDisable(Boolean hasDisable) {
		this.hasDisable = hasDisable;
	}

	/**
	 * 获取是否删除: 1:未删除 0:删除
	 *
	 * @return is_del - 是否删除: 1:未删除 0:删除
	 */
	public Boolean getIsDel() {
		return isDel;
	}

	/**
	 * 设置是否删除: 1:未删除 0:删除
	 *
	 * @param isDel 是否删除: 1:未删除 0:删除
	 */
	public void setIsDel(Boolean isDel) {
		this.isDel = isDel;
	}

	/**
	 * 获取信用状态
	 *
	 * @return credit_type - 信用状态
	 */
	public String getCreditType() {
		return creditType;
	}

	/**
	 * 设置信用状态
	 *
	 * @param creditType 信用状态
	 */
	public void setCreditType(String creditType) {
		this.creditType = creditType;
		if (!StringUtils.isEmpty(creditType))
			this.setCreditTypeName(CreditTypeEnum.valueOf("_" + creditType).getVal());
	}

	/**
	 * 获取信用状态名称
	 *
	 * @return credit_type_name - 信用状态名称
	 */
	public String getCreditTypeName() {
		return creditTypeName;
	}

	/**
	 * 设置信用状态名称
	 *
	 * @param creditTypeName 信用状态名称
	 */
	public void setCreditTypeName(String creditTypeName) {
		this.creditTypeName = creditTypeName;
	}

	/**
	 * 获取紧急联系人
	 *
	 * @return contact - 紧急联系人
	 */
	public String getContact() {
		return contact;
	}

	/**
	 * 设置紧急联系人
	 *
	 * @param contact 紧急联系人
	 */
	public void setContact(String contact) {
		this.contact = contact;
	}

	/**
	 * 获取联系人电话
	 *
	 * @return contact_phone - 联系人电话
	 */
	public String getContactPhone() {
		return contactPhone;
	}

	/**
	 * 设置联系人电话
	 *
	 * @param contactPhone 联系人电话
	 */
	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}

	/**
	 * 获取护理证
	 *
	 * @return nursing_cert - 护理证
	 */
	public Boolean getNursingCert() {
		return nursingCert;
	}

	/**
	 * 设置护理证
	 *
	 * @param nursingCert 护理证
	 */
	public void setNursingCert(Boolean nursingCert) {
		this.nursingCert = nursingCert;
	}

	/**
	 * 获取责任险
	 *
	 * @return liability_insurance - 责任险
	 */
	public Boolean getLiabilityInsurance() {
		return liabilityInsurance;
	}

	/**
	 * 设置责任险
	 *
	 * @param liabilityInsurance 责任险
	 */
	public void setLiabilityInsurance(Boolean liabilityInsurance) {
		this.liabilityInsurance = liabilityInsurance;
	}

	/**
	 * 获取社保
	 *
	 * @return social_security - 社保
	 */
	public Boolean getSocialSecurity() {
		return socialSecurity;
	}

	/**
	 * 设置社保
	 *
	 * @param socialSecurity 社保
	 */
	public void setSocialSecurity(Boolean socialSecurity) {
		this.socialSecurity = socialSecurity;
	}

	/**
	 * 获取备注
	 *
	 * @return remark - 备注
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * 设置备注
	 *
	 * @param remark 备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取已签署协议
	 *
	 * @return agreements - 已签署协议
	 */
	public String[] getAgreements() {
		return agreements;
	}

	/**
	 * 设置已签署协议
	 *
	 * @param agreements 已签署协议
	 */
	public void setAgreements(String[] agreements) {
		this.agreements = agreements;
	}

	/**
	 * 获取解除居间协议日期
	 *
	 * @return relieve_date - 解除居间协议日期
	 */
	public Date getRelieveDate() {
		return relieveDate;
	}

	/**
	 * 设置解除居间协议日期
	 *
	 * @param relieveDate 解除居间协议日期
	 */
	public void setRelieveDate(Date relieveDate) {
		this.relieveDate = relieveDate;
	}

	/**
	 * 获取户口性质
	 *
	 * @return residence - 户口性质
	 */
	public String getResidence() {
		return residence;
	}

	/**
	 * 设置户口性质
	 *
	 * @param residence 户口性质
	 */
	public void setResidence(String residence) {
		this.residence = residence;
		if (!StringUtils.isEmpty(residence))
			this.setResidenceName(ResidenceEnum.valueOf("_" + residence).getVal());
	}

	/**
	 * 获取户口性质名称
	 *
	 * @return residence_name - 户口性质名称
	 */
	public String getResidenceName() {
		return residenceName;
	}

	/**
	 * 设置户口性质名称
	 *
	 * @param residenceName 户口性质名称
	 */
	public void setResidenceName(String residenceName) {
		this.residenceName = residenceName;
	}

	/**
	 * 获取政治面貌
	 *
	 * @return political_visage - 政治面貌
	 */
	public String getPoliticalVisage() {
		return politicalVisage;
	}

	/**
	 * 设置政治面貌
	 *
	 * @param politicalVisage 政治面貌
	 */
	public void setPoliticalVisage(String politicalVisage) {
		this.politicalVisage = politicalVisage;
	}

	/**
	 * 获取政治面貌名称
	 *
	 * @return political_visage_name - 政治面貌名称
	 */
	public String getPoliticalVisageName() {
		return politicalVisageName;
	}

	/**
	 * 设置政治面貌名称
	 *
	 * @param politicalVisageName 政治面貌名称
	 */
	public void setPoliticalVisageName(String politicalVisageName) {
		this.politicalVisageName = politicalVisageName;
	}

	/**
	 * 获取护工姓名拼音
	 *
	 * @return worker_name_pin_yin - 护工姓名拼音
	 */
	public String getWorkerNamePinYin() {
		return workerNamePinYin;
	}

	/**
	 * 设置护工姓名拼音
	 *
	 * @param workerNamePinYin 护工姓名拼音
	 */
	public void setWorkerNamePinYin(String workerNamePinYin) {
		this.workerNamePinYin = workerNamePinYin;
	}

	/**
	 * 获取身高
	 *
	 * @return height - 身高
	 */
	public String getHeight() {
		return height;
	}

	/**
	 * 设置身高
	 *
	 * @param height 身高
	 */
	public void setHeight(String height) {
		this.height = height;
	}

	/**
	 * 获取体重
	 *
	 * @return weight - 体重
	 */
	public String getWeight() {
		return weight;
	}

	/**
	 * 设置体重
	 *
	 * @param weight 体重
	 */
	public void setWeight(String weight) {
		this.weight = weight;
	}

	/**
	 * 获取提醒状态
	 *
	 * @return remind_status - 提醒状态
	 */
	public Boolean getRemindStatus() {
		return remindStatus;
	}

	/**
	 * 设置提醒状态
	 *
	 * @param remindStatus 提醒状态
	 */
	public void setRemindStatus(Boolean remindStatus) {
		this.remindStatus = remindStatus;
	}

	@Override
	public String toString() {
		return "NurseWorkerInfoDto [id=" + id + ", workerId=" + workerId + ", createTime=" + createTime
				+ ", workerName=" + workerName + ", sex=" + sex + ", sexName=" + sexName + ", age=" + age + ", phone="
				+ phone + ", workStatus=" + workStatus + ", workStatusName=" + workStatusName + ", idCard=" + idCard
				+ ", provinceName=" + provinceName + ", province=" + province + ", nativePlace="
				+ Arrays.toString(nativePlace) + ", nativePlaceName=" + Arrays.toString(nativePlaceName)
				+ ", education=" + education + ", educationName=" + educationName + ", serviceYears=" + serviceYears
				+ ", birthDate=" + birthDate + ", nation=" + nation + ", nationName=" + nationName + ", religionFaith="
				+ religionFaith + ", religionFaithName=" + religionFaithName + ", haveHealthCert=" + haveHealthCert
				+ ", healthCert=" + healthCert + ", healthCertExpiryDate=" + healthCertExpiryDate
				+ ", accidentInsurance=" + accidentInsurance + ", bank=" + bank + ", bankName=" + bankName
				+ ", bankCard=" + bankCard + ", bankFullName=" + bankFullName + ", hospital=" + hospital
				+ ", hospitalName=" + hospitalName + ", hireDate=" + hireDate + ", leaveDate=" + leaveDate
				+ ", expertDept=" + expertDept + ", skill=" + skill + ", avatarPhotoUrl=" + avatarPhotoUrl
				+ ", bankCardPhotoUrl=" + bankCardPhotoUrl + ", educationPhotoUrl=" + educationPhotoUrl
				+ ", healthCertPhotoUrl=" + healthCertPhotoUrl + ", idCardFacePhotoUrl=" + idCardFacePhotoUrl
				+ ", idCardBackPhotoUrl=" + idCardBackPhotoUrl + ", equipments=" + Arrays.toString(equipments)
				+ ", equipmentNames=" + Arrays.toString(equipmentNames) + ", hasDisable=" + hasDisable + ", isDel="
				+ isDel + ", creditType=" + creditType + ", creditTypeName=" + creditTypeName + ", contact=" + contact
				+ ", contactPhone=" + contactPhone + ", nursingCert=" + nursingCert + ", liabilityInsurance="
				+ liabilityInsurance + ", socialSecurity=" + socialSecurity + ", remark=" + remark + ", agreements="
				+ Arrays.toString(agreements) + ", relieveDate=" + relieveDate + ", residence=" + residence
				+ ", residenceName=" + residenceName + ", politicalVisage=" + politicalVisage + ", politicalVisageName="
				+ politicalVisageName + ", workerNamePinYin=" + workerNamePinYin + ", height=" + height + ", weight="
				+ weight + ", remindStatus=" + remindStatus + "]";
	}
}
